//	./capturatraza_cliente localhost ip-cliente ip-servidor opcion

#include <iostream>
#include "capturatraza.h"
#include <stdlib.h>

using namespace std;

int main(int argc, char* argv[]) {
    if (argc <= 4) {
        cerr << "Uso: cliente_capturatraza   " << endl;
        return -1;
    }
	int i;
    string ipsrv, ipcli, puerto;
    char *server = argv[1];

    CLIENT *clnt = clnt_create(server, CAPTURATRAZAPROG, CAPTURATRAZAVERS, "tcp");
    if (clnt == NULL) {
        cerr << "Error al crear un cliente de rpc" << endl;
        clnt_pcreateerror(server);
        return -1;
    }

    Operandos op;

    ipcli = argv[2];//ip cliente
    ipsrv = argv[3];//ip servidor
    puerto= argv[4];//puerto de servicio
    op.opcion = atoi(argv[5]);
    	//op.opcion = 1;//iniciar captura traza servidor
    	//op.opcion = 2;//finalizar captura traza servidor

    if(ipcli.size()>40 || ipcli.size()>40 || puerto.size()>5 || (op.opcion!=1 && op.opcion!=2)){
    	cerr << "Error en parametros" << endl;
    	clnt_destroy(clnt);
    	return -1;
    }
	op.size1=ipcli.size();
	for( i=0; i < op.size1; i++){
		op.IPcliente[i]=ipcli[i];
	}


	op.size2=ipsrv.size();
	for( i=0; i < op.size2; i++){
		op.IPservidor[i]=ipsrv[i];
	}


	for( i=0; i < puerto.size(); i++){
			op.puerto[i]=puerto[i];
	}
	for(/*vacio*/; i<5; i++){
		op.puerto[i]='-';
	}

    int* resultadoEntero;


    resultadoEntero = accion_1(&op, clnt);
    if (resultadoEntero != NULL) {
        cout << *resultadoEntero << endl;//por revisar
    } else {
        cerr << "Error!" << endl;
        clnt_perror(clnt, server);
        return -1;
    }

    clnt_destroy(clnt);

    return 0;
}
